package main

import "fmt"

func main() {
	// 声明slice是一个切片，并且初始化，默认值是1,2,3；长度len是3
	slice1 := []int{1, 2, 3}

	// 声明slice2是一个切片，但并没有给slice分配空间
	var slice2 []int
	slice2 = make([]int, 3)  // 开辟3个空间，默认值是0

	// 声明slice3是一个切片，同时给slice分配空间，3个空间初始化值是0
	var slice3 []int = make([]int, 3)

	// 声明slice3是一个切片，同时给slice分配空间，3个空间初始化值是0
	slice4 := make([]int, 3)

	fmt.Println("slice1 = ", slice1, "len = ", len(slice1))
	fmt.Println("slice2 = ", slice2, "len = ", len(slice2))
	fmt.Println("slice3 = ", slice3, "len = ", len(slice3))
	fmt.Println("slice4 = ", slice4, "len = ", len(slice4))
}
